#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>

typedef int ElemType;

typedef struct LNode
{
  ElemType data;
  struct LNode *next;
} LNode, *LinkList;

bool InitList(LinkList &L);
bool IsEmpty(LinkList &L);

int main()
{
  LinkList L;
  bool b1 = InitList(L);
  bool b = IsEmpty(L);
  printf("%d %d\n", b1, b);
}

// 带头结点
bool InitList(LinkList &L)
{
  L = (LinkList)malloc(sizeof(LNode));
  if (L == NULL)
    return false;
  L->next = NULL;
  return true;
}

bool IsEmpty(LinkList &L)
{
  return (L->next == NULL);
}

// 不带头结点
// bool InitList(LinkList &L)
// {
//   L = NULL;
//   return true;
// }

// bool IsEmpty(LinkList &L)
// {
//   return (L== NULL);
// }